package main

import (
	"fmt"
)

func E1() error {
	return fmt.Errorf("E1 error")
}

func E2() error {
	err := E1()
	if err != nil {
		return err
	}
	return nil
}

func E3() error {
	err := E2()
	if err != nil {
		return err
	}
	return nil
}

func main() {
	err := E3()
	if err != nil {
		fmt.Println(err)
	}
}

// output:
// E1 error
